package com.ruoyi.ora.service;

import java.util.List;
import com.ruoyi.ora.domain.VoicePermission;

/**
 * 录音权限Service接口
 * 
 * @author liuwp
 * @date 2025-03-20
 */
public interface IVoicePermissionService 
{
    /**
     * 查询录音权限
     * 
     * @param id 录音权限主键
     * @return 录音权限
     */
    public VoicePermission selectVoicePermissionById(Long id);

    /**
     * 查询录音权限列表
     * 
     * @param voicePermission 录音权限
     * @return 录音权限集合
     */
    public List<VoicePermission> selectVoicePermissionList(VoicePermission voicePermission);

    /**
     * 根据业务主键查询一条记录：录音权限
     *
     * @param voicePermission 录音权限
     * @return 录音权限
     */
    public VoicePermission selectOneVoicePermission(VoicePermission voicePermission);

    /**
     * 新增录音权限
     * 
     * @param voicePermission 录音权限
     * @return 结果
     */
    public int insertVoicePermission(VoicePermission voicePermission);

    /**
     * 修改录音权限
     * 
     * @param voicePermission 录音权限
     * @return 结果
     */
    public int updateVoicePermission(VoicePermission voicePermission);

    /**
     * 修改录音权限
     *
     * @param voicePermission 录音权限
     * @param voicePermission 录音权限条件
     * @return 结果
     */
    public int updateVoicePermissionCondition(VoicePermission voicePermission, VoicePermission voicePermissionCondition);

    /**
     * 批量删除录音权限
     * 
     * @param ids 需要删除的录音权限主键集合
     * @return 结果
     */
    public int deleteVoicePermissionByIds(Long[] ids);

    /**
     * 删除录音权限信息
     * 
     * @param id 录音权限主键
     * @return 结果
     */
    public int deleteVoicePermissionById(Long id);

    /**
     * 条件删除录音权限
     *
     * @param voicePermission 录音权限
     * @return 结果
     */
    public int deleteVoicePermissionByCondition(VoicePermission voicePermission);
}
